xen/arm: disable interrupts on return_to_hypervisor
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>
Thu, 6 Dec 2012 10:19:08 +0000 (10:19 +0000)
committerStefano Stabellini <stefano.stabellini@eu.citrix.com>
Thu, 6 Dec 2012 10:19:08 +0000 (10:19 +0000)
commitf60d158a02165aac0eb824106f0655589b4f683e
tree7eadbbb9a61f8d57d26aa12bea32e51524521222
parentbc9e3b56e9626cca1cf99558658abe02c2aa89eb
xen/arm: disable interrupts on return_to_hypervisor

At the moment it is possible to reach return_to_hypervisor with
interrupts enabled (it happens all the times when we are actually going
back to hypervisor mode, when we don't take the return_to_guest path).

If that happens we risk loosing the content of ELR_hyp: if we receive an
interrupt right after restoring ELR_hyp, once we come back we'll have a
different value in ELR_hyp and the original is lost.

In order to make the return_to_hypervisor path safe, we disable
interrupts before restoring any registers.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/arm/entry.S